package com.expert.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.expert.pojo.Expert;
import com.expert.vo.ExpertInfoVo;
import com.expert.vo.ExpertPageVo;
import com.expert.vo.RemoteExpertVo;

import java.util.List;

/**
 * @ClassName: ExpertService
 * @Author: cxs
 * @Date: 2024/03/14 13:07
 * @Description:
 **/
public interface ExpertService extends IService<Expert> {

    /**
     * 添加专家信息
     * @param expert
     */
    void addExpertService(Expert expert);

    /**
     * 分页查询专家信息
     * @param page
     * @param pageSize
     * @param expertName
     * @param expertSex
     * @param expertTitle
     * @param expertEducation
     * @param expertUnit
     * @param expertCategory
     * @return
     */
    Page<ExpertPageVo> pageExpertService(Integer page, Integer pageSize, String expertName,
                                         Integer expertSex, String expertTitle, String expertEducation,
                                         String expertUnit, Long expertCategory);

    /**
     * 根据id获取专家信息
     * @param id 专家id
     * @return
     */
    ExpertInfoVo getInfoById(Long id);

    /**
     * 删除专家信息
     * @param ids
     */
    void deleteExpert(List<Long> ids);

    /**
     * 修改专家信息
     * @param expert
     */
    void updateExpertService(Expert expert);

    List<RemoteExpertVo> selectByName(String name);
}
